home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / ManagerP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  10.2 KB  |  343 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: ManagerP.h,v $ $Revision: 1.16 $ $Date: 92/07/30 20:54:38 $ */
  6. /*
  7. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  8. /*
  9. *  (c) Copyright 1989, 1990 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  10. /*
  11. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  12. #ifndef _XmManagerP_h
  13. #define _XmManagerP_h
  14.  
  15. #ifndef _XmNO_BC_INCL
  16. #define _XmNO_BC_INCL
  17. #endif
  18.  
  19. #include <Xm/XmP.h>
  20.  
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24.  
  25. /*  Access Macros  */
  26.  
  27. #define XmParentTopShadowGC(w) (((XmManagerWidget)            \
  28.     (((XmGadget)(w))->object.parent))->manager.top_shadow_GC)
  29.  
  30. #define XmParentBottomShadowGC(w) (((XmManagerWidget)            \
  31.     (((XmGadget)(w))->object.parent))->manager.bottom_shadow_GC)
  32.  
  33. #define XmParentHighlightGC(w) (((XmManagerWidget)            \
  34.     (((XmGadget)(w))->object.parent))->manager.highlight_GC)
  35.  
  36. #define XmParentBackgroundGC(w) (((XmManagerWidget)                     \
  37.         (((XmGadget)(w))->object.parent))->manager.background_GC)
  38.  
  39. #define MGR_KeyboardList(m)        \
  40.             (((XmManagerRec *) (m))->manager.keyboard_list)
  41. #define MGR_NumKeyboardEntries(m)    \
  42.             (((XmManagerRec *) (m))->manager.num_keyboard_entries)
  43. #define MGR_SizeKeyboardList(m)        \
  44.             (((XmManagerRec *) (m))->manager.size_keyboard_list)
  45. #define MGR_ShadowThickness(m)        \
  46.             (((XmManagerRec *) (m))->manager.shadow_thickness)
  47.  
  48.  
  49. #define XmInheritTraversalChildrenProc ((XmTraversalChildrenProc) _XtInherit)
  50.  
  51. #ifdef _NO_PROTO
  52. typedef Boolean (*XmTraversalChildrenProc)() ;
  53. #else
  54. typedef Boolean (*XmTraversalChildrenProc)( Widget, Widget **, Cardinal *) ;
  55. #endif
  56.  
  57.  
  58. /*  Structure used for storing accelerator and mnemonic information.  */
  59.  
  60. typedef struct 
  61. {
  62.    unsigned int eventType;
  63.    KeySym       keysym;
  64.    KeyCode      key;
  65.    unsigned int modifiers;
  66.    Widget       component;
  67.    Boolean      needGrab;
  68.    Boolean      isMnemonic;
  69. } XmKeyboardData;
  70.  
  71.  
  72. /*  The class definition  */
  73.  
  74. typedef struct {
  75.     XtPointer next_extension;
  76.     XrmQuark record_type;
  77.     long version;
  78.     Cardinal record_size;
  79.     XmTraversalChildrenProc traversal_children ;
  80. } XmManagerClassExtRec, *XmManagerClassExt ;
  81.  
  82. #define XmManagerClassExtVersion 1L
  83.  
  84. typedef struct _XmManagerClassPart
  85. {
  86.    String               translations;
  87.    XmSyntheticResource * syn_resources;   
  88.    int                  num_syn_resources;   
  89.    XmSyntheticResource * syn_constraint_resources;   
  90.    int                  num_syn_constraint_resources;   
  91.    XmParentProcessProc  parent_process;
  92.    XtPointer            extension;
  93. } XmManagerClassPart;
  94.  
  95. typedef struct _XmManagerClassRec
  96. {
  97.     CoreClassPart       core_class;
  98.     CompositeClassPart  composite_class;
  99.     ConstraintClassPart constraint_class;
  100.     XmManagerClassPart  manager_class;
  101. } XmManagerClassRec;
  102.  
  103. #ifndef MANAGER
  104. externalref XmManagerClassRec xmManagerClassRec;
  105. #endif
  106.  
  107. /*  The instance definition  */
  108.  
  109. typedef struct _XmManagerPart
  110. {
  111.    Pixel   foreground;
  112.  
  113.    Dimension   shadow_thickness;
  114.    Pixel   top_shadow_color;
  115.    Pixmap  top_shadow_pixmap;
  116.    Pixel   bottom_shadow_color;
  117.    Pixmap  bottom_shadow_pixmap;
  118.  
  119.    Pixel   highlight_color;
  120.    Pixmap  highlight_pixmap;
  121.  
  122.    XtCallbackList help_callback;
  123.    XtPointer      user_data;
  124.  
  125.    Boolean traversal_on;
  126.    unsigned char unit_type;
  127.    XmNavigationType navigation_type;
  128.    
  129.    Boolean event_handler_added;
  130.    Widget  active_child;
  131.    Widget  highlighted_widget;
  132.    Widget  accelerator_widget;
  133.  
  134.    Boolean has_focus;
  135.  
  136.    XmStringDirection string_direction;
  137.  
  138.    XmKeyboardData * keyboard_list;
  139.    short num_keyboard_entries;
  140.    short size_keyboard_list;
  141.  
  142.    XmGadget selected_gadget;
  143.    XmGadget eligible_for_multi_button_event;
  144.  
  145.    GC      background_GC;
  146.    GC      highlight_GC;
  147.    GC      top_shadow_GC;
  148.    GC      bottom_shadow_GC;
  149.  
  150.    Widget  initial_focus;
  151. } XmManagerPart;
  152.  
  153. typedef struct _XmManagerRec
  154. {
  155.    CorePart       core;
  156.    CompositePart  composite;
  157.    ConstraintPart constraint;
  158.    XmManagerPart  manager;
  159. } XmManagerRec;
  160.  
  161.  
  162. /*  The constraint definition  */
  163.  
  164. typedef struct _XmManagerConstraintPart
  165. {
  166.    int unused;
  167. } XmManagerConstraintPart;
  168.  
  169. typedef struct _XmManagerConstraintRec
  170. {
  171.    XmManagerConstraintPart manager;
  172. } XmManagerConstraintRec, * XmManagerConstraintPtr;
  173.  
  174.  
  175.  
  176. /********    Private Function Declarations    ********/
  177. #ifdef _NO_PROTO
  178.  
  179. extern void _XmGadgetTraversePrevTabGroup() ;
  180. extern void _XmGadgetTraverseNextTabGroup() ;
  181. extern void _XmGadgetTraverseLeft() ;
  182. extern void _XmGadgetTraverseRight() ;
  183. extern void _XmGadgetTraverseUp() ;
  184. extern void _XmGadgetTraverseDown() ;
  185. extern void _XmGadgetTraverseNext() ;
  186. extern void _XmGadgetTraversePrev() ;
  187. extern void _XmGadgetTraverseHome() ;
  188. extern void _XmGadgetSelect() ;
  189. extern void _XmManagerParentActivate() ;
  190. extern void _XmManagerParentCancel() ;
  191. extern void _XmGadgetButtonMotion() ;
  192. extern void _XmGadgetKeyInput() ;
  193. extern void _XmGadgetArm() ;
  194. extern void _XmGadgetDrag() ;
  195. extern void _XmGadgetActivate() ;
  196. extern void _XmManagerHelp() ;
  197. extern void _XmGadgetMultiArm() ;
  198. extern void _XmGadgetMultiActivate() ;
  199.  
  200. extern void _XmSocorro() ;
  201. extern Boolean _XmParentProcess() ;
  202. extern void _XmClearShadowType() ;
  203. extern void _XmDestroyParentCallback() ;
  204.  
  205. #else
  206.  
  207. extern void _XmGadgetTraversePrevTabGroup( 
  208.                         Widget wid,
  209.                         XEvent *event,
  210.                         String *params,
  211.                         Cardinal *num_params) ;
  212. extern void _XmGadgetTraverseNextTabGroup( 
  213.                         Widget wid,
  214.                         XEvent *event,
  215.                         String *params,
  216.                         Cardinal *num_params) ;
  217. extern void _XmGadgetTraverseLeft( 
  218.                         Widget wid,
  219.                         XEvent *event,
  220.                         String *params,
  221.                         Cardinal *num_params) ;
  222. extern void _XmGadgetTraverseRight( 
  223.                         Widget wid,
  224.                         XEvent *event,
  225.                         String *params,
  226.                         Cardinal *num_params) ;
  227. extern void _XmGadgetTraverseUp( 
  228.                         Widget wid,
  229.                         XEvent *event,
  230.                         String *params,
  231.                         Cardinal *num_params) ;
  232. extern void _XmGadgetTraverseDown( 
  233.                         Widget wid,
  234.                         XEvent *event,
  235.                         String *params,
  236.                         Cardinal *num_params) ;
  237. extern void _XmGadgetTraverseNext( 
  238.                         Widget wid,
  239.                         XEvent *event,
  240.                         String *params,
  241.                         Cardinal *num_params) ;
  242. extern void _XmGadgetTraversePrev( 
  243.                         Widget wid,
  244.                         XEvent *event,
  245.                         String *params,
  246.                         Cardinal *num_params) ;
  247. extern void _XmGadgetTraverseHome( 
  248.                         Widget wid,
  249.                         XEvent *event,
  250.                         String *params,
  251.                         Cardinal *num_params) ;
  252. extern void _XmGadgetSelect( 
  253.                         Widget wid,
  254.                         XEvent *event,
  255.                         String *params,
  256.                         Cardinal *num_params) ;
  257. extern void _XmManagerParentActivate( 
  258.                         Widget mw,
  259.                         XEvent *event,
  260.                         String *params,
  261.                         Cardinal *num_params) ;
  262. extern void _XmManagerParentCancel( 
  263.                         Widget mw,
  264.                         XEvent *event,
  265.                         String *params,
  266.                         Cardinal *num_params) ;
  267. extern void _XmGadgetButtonMotion( 
  268.                         Widget wid,
  269.                         XEvent *event,
  270.                         String *params,
  271.                         Cardinal *num_params) ;
  272. extern void _XmGadgetKeyInput( 
  273.                         Widget wid,
  274.                         XEvent *event,
  275.                         String *params,
  276.                         Cardinal *num_params) ;
  277. extern void _XmGadgetArm( 
  278.                         Widget wid,
  279.                         XEvent *event,
  280.                         String *params,
  281.                         Cardinal *num_params) ;
  282. extern void _XmGadgetDrag( 
  283.                         Widget wid,
  284.                         XEvent *event,
  285.                         String *params,
  286.                         Cardinal *num_params) ;
  287. extern void _XmGadgetActivate( 
  288.                         Widget wid,
  289.                         XEvent *event,
  290.                         String *params,
  291.                         Cardinal *num_params) ;
  292. extern void _XmManagerHelp( 
  293.                         Widget wid,
  294.                         XEvent *event,
  295.                         String *params,
  296.                         Cardinal *num_params) ;
  297. extern void _XmGadgetMultiArm( 
  298.                         Widget wid,
  299.                         XEvent *event,
  300.                         String *params,
  301.                         Cardinal *num_params) ;
  302. extern void _XmGadgetMultiActivate( 
  303.                         Widget wid,
  304.                         XEvent *event,
  305.                         String *params,
  306.                         Cardinal *num_params) ;
  307.  
  308. extern void _XmSocorro( 
  309.                         Widget w,
  310.                         XEvent *event,
  311.                         String *params,
  312.                         Cardinal *num_params) ;
  313. extern Boolean _XmParentProcess( 
  314.                         Widget widget,
  315.                         XmParentProcessData data) ;
  316. extern void _XmClearShadowType( 
  317.                         Widget w,
  318. #if NeedWidePrototypes
  319.                         int old_width,
  320.                         int old_height,
  321.                         int old_shadow_thickness,
  322.                         int old_highlight_thickness) ;
  323. #else
  324.                         Dimension old_width,
  325.                         Dimension old_height,
  326.                         Dimension old_shadow_thickness,
  327.                         Dimension old_highlight_thickness) ;
  328. #endif /* NeedWidePrototypes */
  329. extern void _XmDestroyParentCallback( 
  330.                         Widget w,
  331.                         XtPointer client_data,
  332.                         XtPointer call_data) ;
  333. #endif /* _NO_PROTO */
  334. /********    End Private Function Declarations    ********/
  335.  
  336.  
  337. #ifdef __cplusplus
  338. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  339. #endif
  340.  
  341. #endif /* _XmManagerP_h */
  342. /* DON'T ADD ANYTHING AFTER THIS #endif */
  343.